Skip to content

feat: add in-app feedback form#861

Merged
datlechin merged 10 commits intomainfrom
feat/in-app-feedback
Apr 24, 2026
Merged

feat: add in-app feedback form#861
datlechin merged 10 commits intomainfrom
feat/in-app-feedback

Conversation

@datlechin
Copy link
Copy Markdown
Collaborator

Summary

  • Add in-app feedback form accessible via Help > Report an Issue
  • Supports Bug Report, Feature Request, and General Feedback types
  • Multiple screenshot attachments (paste, drag-drop, capture window, browse files) up to 5
  • Auto-collected diagnostics (app version, macOS, architecture, database type, plugins)
  • Draft persistence via UserDefaults, restored on reopen
  • Standalone NSPanel window, works without any database connection
  • Submits to POST /v1/feedback which creates GitHub issues with labels and uploaded screenshots

New files

  • FeedbackAPIClient.swift - HTTP client with models and error types
  • FeedbackDiagnosticsCollector.swift - Auto-collects system info
  • FeedbackDraft.swift - Codable draft model
  • FeedbackViewModel.swift - Business logic, attachments, draft persistence
  • FeedbackWindowController.swift - Singleton NSPanel controller
  • FeedbackView.swift - SwiftUI form with .formStyle(.grouped)

Test plan

  • Open Help > Report an Issue, verify panel opens
  • Switch feedback types, verify steps/expected fields toggle for Bug Report
  • Paste screenshot from clipboard
  • Drag-drop image file onto form
  • Click Capture Window, verify it captures the main window
  • Click Browse, select multiple images
  • Verify max 5 attachments enforced
  • Toggle diagnostics, expand details, verify system info
  • Fill form, close panel, reopen, verify draft restored
  • Submit feedback, verify success view with GitHub issue link
  • Verify dark mode colors adapt

@datlechin datlechin merged commit 4fc34fd into main Apr 24, 2026
2 checks passed
@datlechin datlechin deleted the feat/in-app-feedback branch April 24, 2026 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant